Cost-effective and power-efficient portable turbine-based emergency ventilator

Graphical abstract

available. To avoid such a massive problem, the system had been designed to adapt to any patient circuit available on the market. Besides that, the pressure sensor (MPX2010DP) [2] which can measure 0 to 101 cmH2O pressure and flow sensor used in this system can easily be replaced with other available sensors on the market; increasing the adaptability of this system.

Graphical User Interface (GUI) is adaptable to any android device:
An android application is developed that communicates with the system through a predetermined data frame using Bluetooth. The low size and efficient software architecture enable the app to be highly responsive and require small storage space, subsequently allowing the app to be installed on just about any device with an android operating system.
Nevertheless, it can also be connected to single-board computers such as Raspberry Pi [3], and Radxa Zero [4].
Ability to power itself using solar panels and other alternate resources: Unfortunately, still in a lot of lower-and middle-income countries (LMIC), there are many regions where power through the grid has not been able to reach and this acts as a huge barrier to using biomedical devices in the clinics and hospitals that are barely available. To diminish such problems the portable ventilator can be charged using solar energy, wind energy, etc. where a reliable constant power source is not available. Moreover, it also holds the potential to be deployed at refugee camps and disaster-affected areas to provide critical care to the victims as they cannot be relocated due to disruption in transportation and logistics.
This paper proposes building a ventilator that can easily be developed using low-cost 3D printing technology (fused deposition modeling) [5], readily available materials for assembly, and sensors that need not be coded from scratch to be used. This can mitigate the problem of gaining access to ventilators as they can be developed at a very low cost compared to ventilators that are found on the market.
The system architecture [ Fig. 1] demonstrates the airflow to and from the atmosphere to the patient passing through the critical modules of the system. The first stage of filtration is conducted by using a HEPA filter to trap Covid-19 particles. The filtered air is then fed into the pressure release mechanism leading to the one-way valve and then to the flow meter, eventually passing through the pressure sensing pipe and a second filtration through the Heat and Moisture Exchanger (HME) filter [6] before being inhaled by a patient.
During the exhalation period [ Fig. 1], exhaled air filters from the HME filter and travels from the patient to the PEEP valve after the flow meter, subsequently leading back to the atmosphere.
The turbine and pressure release mechanism is controlled by the turbine speed controller and servo respectively by the embedded system. The embedded system takes in data from the system through a flow meter and pressure sensor to run in the set settings by a healthcare professional using the graphical user interface (GUI) that sends data to and from the embedded system to send settings and represent data. Mechanical (a) Turbine: After testing out several turbines by 3D printing, it was decided to use a readily available turbine. 7040 DC 12 V centrifugal turbo turbine [7] was chosen because of its ability to provide high airflow of 240 L/min, 70 cmH2O air pressure, low noise, low rise in temperature during operation, and compact size. Moreover, it also has a built-in control circuit that made controlling the airflow of the entire system much easier. Lastly, the three-phase brushless motor enabled the ventilator to run at very low power.
(b) Pressure Release Mechanism (PRM): An efficient servo-actuated system was developed for the PRM. This enabled the system to regulate the pressures quickly during the inhale and exhale cycles. It also played a vital role in deviating the pressure while the turbine is on and providing a synchronization control of the positive end-expiratory pressure (PEEP) valve. The cross-section of the PRM is shown where all the parts are visible in Fig. 2.
In Fig. 3, the PRM is in the inhale state. The manifold, valve, and guide of the PRM are all to be 3D-printed to be easily deployable and fit into the system. The guide was glued onto the manifold that provides a supported pathway for the valve to move. A spring was installed to keep the valve pushed upwards so that during the inhale state, air can flow from the inlet. The magnitude of the pressures depends on Eq.(1). P1 pressure is provided at the inlet. Since P3 pressure is zero, P1 is divided into P2 and P4. P2 and P4 are going to the patient and the pressure component is applied to the PEEP valve respectively.
P1ðcmH2OÞ ¼ P2ðcmH2OÞ þ P3ðcmH2OÞ þ P4ðcmH2OÞ ð 1Þ  During the exhale state (Fig. 4), the horn of the servo pushes the valve downwards, compressing the spring and opening up the space between the guide and the manifold. A large portion of the pressure now deviates through that gap and raises the pressure P3, eventually decreasing the pressure P2 and P4. These pressures play a vital role in the system to keep a positive PEEP to restrict the alveoli from collapsing. When the system enters the inhale state, the servo again retains its original position and the valve again closes itself due to the force (F1).
To summarize, this novel design of the pressure release mechanism is power efficient and minimizes failure as it is normally open. The PEEP is adjusted by maintaining the speed of the turbine. The air travels from the turbine through this mechanism and then reaches the patient after passing the 'one-way valve'. Fig. 5 demonstrates the PRM valve after assembly.
(c) One-way valve: was custom designed by our team to fit as appropriate modules were not available and procuring the exact module would have taken a long time. It was experimented with several times before a design ( Fig. 6 and Fig. 7] was finalized that worked brilliantly with 5 cmH 2 O. The 3D-printed structure holds a rubber membrane on the inside and can fit any readily available patient circuit. (d) Positive End-Expiratory Pressure (PEEP) valve: Maintaining the PEEP value ranging from 5 to 20 cmH 2 O of patients is highly essential so that the alveoli of the patients do not collapse and there is some volume present inside, which makes it easier to inflate; this point of change in compliance that is denoted as the critical opening pressure (COP) [8]. Fig. 8 shows the free-body diagram of the PEEP valve during both the inhale and exhale states to the left and right respectively. Both the pressure case and inlets are 3D printed using PLA and a thin film made up of silicone sheet is added in between both the parts. During the inhale state, high pressure is exerted (P2) through the pressure component taken from the PRM and the thin film is pushed tightly towards the inlet as there is a low pressure (P1) coming from the patient. However, quite the opposite happens when the patient is in an exhale state and the pressure P1 now is much higher than that of P2, leading to pushing down the film and letting the air out.     This novel design and mechanism of the PEEP valve ( Fig. 7) operate without the aid of any electromechanical components and this enhances the reliability of the entire system. In the scenario of failure, the valve would just open and avoid suffocation of the patient. Moreover, designing the control algorithm becomes easier as only one variable; the speed of the motor needs to be regulated.
The complication of the supply chain is reduced due to the use of a lower number of parts; eventually reducing the cost of production. Nevertheless, this design decreases the time taken for assembly. Fig. 10 shows the final assembly of the valve.

Electrical and electronics
To run the mechanical system seamlessly a robust circuit was integrated with the electronic modules (Fig. 11). Generic modules were chosen in the development because these were abundantly available in the market, which would eventually make the development process and supply chain much less complicated if it enters the production phase.
A 24 V power supply was used to drive and charge the system when connected with the mains power. One 12.6 V buck converter (LM2596) was used to power the battery management systems (BMS), two are used in parallel to charge two 3S 18,650Li-ion battery packs.  Three separate 5 V buck converters (XL4015) have been used to power the microcontroller (Arduino Mega), android tab, and the servo. This isolation of converters increases the sturdiness of the device. Two low-powered sensors such as the flow sensor (SFM3300) [9] and differential pressure sensor (MPX2010DP) [2] feed analog data into the Arduino.
(i) Microcontroller: Arduino Mega [10] is being used as the processing unit of the device for its wide availability, robustness, and number of digital pins available. It acts as the brain of the system taking in data from all of the sensors that are connected and producing appropriate control signals to control the turbine and servo. Besides that, data transmission through Bluetooth is also conducted by this microcontroller (Fig. 12).
(ii) Bluetooth module: The user inputs are sent from the Android application to the microcontroller via a Bluetooth module (HC-05) [11] (Fig. 13a), which are then inputted into different control algorithms and other processes. Our app handled the serial communication seamlessly without any failure at a baud rate of 9600 where the predetermined data frame comprising of multi-variant values was lined up in single strings. After that string is segmented based on the preset data length of each variable and portrayed on the necessary graphs which could optimize its scale and provid better visibility to perceive useful information. One can also directly connect the device with our ventilator through the USB port. The schematic of the turbine controller is demonstrated in Fig. 13b.
(iii) Servo: It's mandatory to increase and decrease pressure during inhale and exhale respectively in a fast manner and to serve that very purpose, a servo-actuated system using MG995; operating at 5 V and having a stall torque of 9.79 kg/cm [12] was designed. Rising the pressure very quickly at the targeted value was achieved by maintaining the turbine's speed to a minimum, so that, it does not have to start from zero.
One of the key attributes for our system to be efficient is due to our servo-based pressure release mechanism's low power requirement. Upon experimentation on the certain conditions; explained in Table 1, we found that in 50 % duty cycle mode  (iv) Turbine controller: The previously mentioned turbine comes with an integral turbine controller that can easily be used to control the PWM signals from the micro-controller. This is more like an electronic speed controller (ESC) with extended functionalities that remove all the complexity that is often present in controlling a motor/turbine. Hence, easy integration of the control algorithms is possible. The schematic of the turbine controller is demonstrated in Fig. 15 below.  MPX2010DP is a differential pressure sensor [2] that takes in data from the pressure sense pipe mentioned in Fig. 1 and feeds analog data into the Arduino for the firmware to work. However, the full-scale span of the pressure sensor is 2 mV, so it needs to be amplified ( Fig. 9) before sending it to Arduino and eventually converting it to a cmH2O pressure unit using Eq.(2). The equation can be found in [13].
An operational amplifier (LM358) is used for sensor signal amplification. Fig. 16 demonstrates the circuit used. It uses a very generic yet effective circuit.
Upon not coming across any ready-to-be-used formula for converting an analog value to cmH2O, an experiment was set up to find out the constant; 0.20916, used in the Eq. (2). A t-connector [14] was used as a junction for 3 ports. One of those ports was connected with a syringe, one end with the pressure sensing outlet of MPX2010DP and finally, the third end was connected with a 4 mm pipe. The pipe was then put underwater and held by a measuring cylinder. A ruler was held in parallel to the measuring cylinder by its side with a clamp to measure the height difference that occurred when pressure was exerted by the syringe. When 1 cmH2O displacement of water was observed, the change in the analog value of the differential pressure sensor was recorded. This experiment was repeated 20 times and the mean value was finally taken to calculate the constant that has been used in the Eq.(2).  (ii) SFM 3300: SFM3300 sensor (Fig. 17) does not require any calibration but an external circuit Fig. 18] is needed for I2C communication. On top of that, SFM3300 [12] draws less than 50mW of power; draining only a 10 mA current at 5 V, enabling it to be powered by the microcontroller's digital pin only.

c. Power modules:
A modular design that is based on electronic modules that can easily be picked up from the market is used here. A Veroboard design (Fig. 19) based on Fig. 11 is used so that it can also eliminate the dependency on manufacturing PCBs. But the design can surely be scaled to be manufactured using PCBs. Moreover, the use of electronic modules instead of individual SMD or THT components has enabled our system to be manufactured even in situations where expensive and complex pick and place machines are not available.  The schematic of the connections of the module used in (Fig. 19) is demonstrated in the Fig. 20.
(i) Buck Converters: Two types of modules; LM2596 and XL4015 buck converters are used in the power distribution board as can be seen in Fig. 17. Both of these converters are connected to a 24 V power supply.   Two BMS modules have connected that work independently with two battery packs so that even if one of the BMS modules fails, there is still another as backup, hence increasing reliability further and decreasing the charging time. Fig. 21 shows the schematic of the dual BMS.
(iii) Battery packs: Panasonic NCR18650B batteries [15] had been used as backup power instances of portable operation and during power outage/instability. A 3S2P configuration as shown in Fig. 21 used, ultimately getting 6800mAh, 12.6 V, and 85.68Wh. Our system is expected to run for 5.6 h at a stretch with the settings mentioned in Table 2. In Table 2, we have demonstrated  a test that was conducted for 10 mins. Using formula of average power consumption by dividing the energy consumed by time, 15.27 W has been calculated for an hour with respect to the energy consumed in 10 mins. However, using lower pressure settings will enable the device to run even longer, for example, it can run for a maximum of 8 h under a 20 cm H 2 O pressure setting.

Modes of ventilation
Intensive care units (ICU) admitted patients are often given mechanical ventilation to reduce work of breathing (WOB), improve oxygenation, or correct respiratory acidosis without damaging the lungs while enabling the respiratory muscles to rest [14].
Considering the latest and most prominent modes, we have developed our system with the following modes: (a) Pressure Regulated Volume Control (PRVC) mode-It is a combined volume and pressure regulated mode of ventilation that attempts to reach the targeted (user inputted) tidal volume (V T ) with the lowest possible pressure. PRVC helps prevent volutrauma and barotrauma [16] by limiting the delivery pressure as it is an adaptive control form of ventilation that permits involuntary tuning of targets (pressure versus volume) through the compilation of data from the previous breathing cycles. Flow rates are adjusted to reach patients' demands even when their lung compliance changes. PRVC adjusts flow rates to adapt with demand when lung compliance changes; subsequently achieving a normal breathing pattern. This mode is often the go-to mode for infants with ARDS. Besides that, PRVC provides the comfort of pressure ventilation for patients with reliable minute ventilation. (b) PCV (Pressure Control Ventilation)-It's pressure-controlled ventilation where the desired Peak Inspiration Pressure (PIP) is taken in from the doctor and the required tidal volume (V T ) is delivered to achieve that pressure. Besides that, the PEEP is also maintained as the minimum pressure (Fig. 18). Mandatory breathes are provided to the patients but breath can be initiated by the patient if required; intermittent breathes [17]. However, considering patients' safety, a maximum pressure (P Max ) is hardcoded into the system. (c) SIMV (Synchronous Intermittent Mandatory Ventilation)-In this mode, ventilators synchronize with the patient spontaneous breaths while maintaining the mandatory breathing. Synchronization is either flow or pressure triggered. In this ventilator, if patient breathing effort is detected within the synchronization time window and the flow or pressure is more or equal to the setpoint, then the ventilator provides the next breath earlier than the machine trigger breath to synchronize with patient effort (see Fig 22). Software (a) Android Application -The efficient development of the app; sizing only 5 MB, made it possible to run using low resources, subsequently decreasing the price of the device used to operate. Amongst all the options, Java was chosen as the language to be used to develop because it is reliable, has available libraries, has easy debugging, and adaptability to changes. The scale of the graphs was adjusted automatically by the system to provide better visibility.
Besides that, debugging is also expected to be easier due to the development being done on the Android platform on a Java codebase. Our app handled the serial communication seamlessly without any failure at a baud rate of 9600 where the predetermined data frame containing multi-variant values was lined up in single strings. Afterward, that string is segmented based on the preset data length of each variable and portrayed on the necessary graphs which could optimize its scale and provided better visibility to perceive useful information.
An implementation of the multithreading [18] was inevitable because of our application's asynchronous [19] nature, which enabled us to maintain uninterrupted serial communication between the hardware and the software while performing background tasks. Firstly, software needs to establish communication with hardware and persist its connection for further data transmission. Secondly, there are many modes of the system like 'PRVC', 'PCV', and 'SIMV' that the software must be able to change in the runtime. Besides, the system must support initiating alarm in critical situations and snoozing it manually for example, when the value of 'Tidal Volume', 'PIP', or 'PEEP' is above or below the optimum limit.
To facilitate all the asynchronous activities, the 'Thread Looper Handler Architecture' [20] of android was put into use. When the software creates a socket [21] connection with the hardware, the software always receives and sends data in the form of a stream. Subsequently, a thread is assigned to manipulate the stream as the data in the steam is always in ASCII form. In, android it is not ideal to make the UI thread busy for performing heavy tasks as the UI might become unresponsive. So, we incorporate a handler [20] that can efficiently send data to the UI thread as well as receive it. The handler allows sending and processing of Message and Runnable objects associated with a thread's MessageQueue. It will deliver messages and runnable to that message queue and execute them as they come out of the message queue.
The user interface was designed in a way that operators can easily observe the critical data on the display from a distance of 2 m at a glance and can conduct an operation with minimum clicks. Here, not only the alarms can only be seen clearly but also the interactive UI permits the users to change the conditions given for the alarms; both upper and lower bounds, providing more confidence to run the ventilator. Alarm settings can be turned on/off from the android app GUI while other settings like BPM, Ti and Tv can all be set using sliders. Nevertheless, debugging string can also be turned on for the developers, it shows the string being received through the Bluetooth module.
The application is built to be run on most of the tablets found on the market. However, this would be the minimum specification requirements needed to run the system smoothly is given below: Firmware plays a vital role in proper integration between the software and hardware. The system must run uninterruptedly maintaining the desired motor speed of the turbine and performing other necessary actuations while taking useful inputs from the different sensors and GUI simultaneously. The user inputs are sent from the Android application to the microcontroller via a bluetooth module (HC-05) [11], which are then inputted into different control algorithms and other processes.
Control algorithms; Proportional Integral Derivatives (PID) and feed-forward, have been designed and embedded into the firmware for the system to become robust to changes and provide effective outputs while operating the modes discussed before.
PID controller is a closed-loop control system with a feedback control loop that evaluates the error based on the setpoint provided to the system (Fig. 23). To minimize the error, each part of the controller of P, I and D work hand in hand and then output is generated with each iteration while sending a feedback signal back to the system. Fig. 24 represents a control equation for PID, where the error [e(t)] is manipulated through the three constants; K p , K i and K d . Not all of the PID is used; for instance, we have just used a 'P' controller in our ventilator.
Equation (3) was implemented to regulate the motor speed. The controller adjusts the value of the 'volumeError' in this formula. The value of Kp is determined after numerous trials and errors. A set of pre-determined values for the motor speed is given into the feedforward algorithm ( Fig. 25) for the range of inputs that can be taken from the operator. This ensures the system reaches the targeted value quickly. The value of 'mo-torSpeed' was the input given into the system using Eq.(3).
Firmware is solely responsible for conducting all the calculations, switching between different modes while maintaining all the safety procedures, and finally triggering necessary alarms if necessary.
While processing calculations on embedded systems we need to keep in mind a lot of things, such as the memory occupied to run each of the functions, not to run out of the heap memory, etc. to run programs efficiently. Breathe cycle time is a very important factor for the system to proceed to the next steps is calculated by Eq.(4) and it is a summation of both inspiration and expiration times (as in Eq.5).   BreatheCycleTime; BCT s ð Þ ¼ 60 BPM ð4Þ A predetermined data string frame is used for communication between the firmware and the Android tablet, for example, ''v061502.0042090050025150702 00 . Such a string is then broken-down using substring [22] to retrieve important data and put it into respective variables for the system to process later on.
(i) Sensor data filtration methodology.
Data is being retrieved continuously from the system but state-of-the-art hardware is, there will always be some noise that calls for some filtration before being used in any algorithm. The filtration algorithm is designed in the following steps: a. Data array-Sensor data (x) is accumulated into an array sequentially according to its array size.
b. Mean (x À ) is then calculated from the summation of the array values and data size using Eq.(6).
c. Standard deviation 'stdDev' in Eq. (7) helps us to find out the extent of spreading of the sensor values and it is calculated using this formula Eq.(6).
stdDev ¼ d. The standard deviation is then used to draw a virtual boundary/ envelope around the mean data; giving a better sense of the data to be filtered. We will be calling this envelope 'stdShrink', which is calculated using Eq. (8). The shrinkPercent can be tweaked to get the desired stdShrink. e. Finally, another mean is again calculated from the filtered data and then this means shall be used by other modules of the system. These steps enable us to not only filter unwanted data spikes and noises created by the sensor, hence, assuring value with higher accuracy.
(ii) Modes of Ventilation: To provide a seamless change in modes, the android app is used as a primary GUI where the mode is selected by the doctors.
a. PRVC-In this mode, firstly the targeted volume, breaths per minute (BPM), inspiration time (T I ), PEEP value, and alarm settings are taken into the system via the data string.
Upon entering the inhale state, the motor starts with a speed; feed-forward value from the feed-forward algorithm, that had been hardcoded into the embedded system. The motor speed is then adjusted every cycle by running the PID algorithm with a feed-forward algorithm in addition. Afterward, PIP and other alarm parameters are checked and respective alarms are triggered if necessary.
During the exhale state, the motor starts with a feed-forwarded motor speed to maintain the specific PEEP value PID is again put into work. Alarm conditions are checked again and triggered accordingly.
Finally, if the conditions for the synchronized intermittent mandatory ventilation (SIMV) mode are met, the spontaneous breath will be provided. b. PCV-During this mode, the motor again starts with an initial speed that has been feed-forwarded beforehand, and here this value dynamically changes in every loop. Within inhale state, PID is used to maintain the motor speed Eq.(3) to keep the desired pressure by comparing raw pressure sensor data. The PIP is determined using the 'Sensor Data Filtration Methodology' [2.4.b.i]. The algorithm is then recalculated following the newly found value from the filtered sensor dataset. The new base value (feed-forward) for the motor is calibrated and the motor speed is maintained accordingly using PID. Other alarm parameters and patient circuit disconnection are checked and are triggered if necessary.
During exhale state, the motor starts with a feed-forwarded motor speed to maintain the specific PEEP value set by the healthcare professional. The motor speed that is needed is maintained using a PID algorithm. Subsequently, alarm conditions are checked again and triggered accordingly.
If the conditions for the SIMV mode are met, the breath will be triggered.
c. SIMV-With the inputs of T i and respiratory rate from the doctor, the breath cycle is calculated using Eq.(4). Then the 'n' is calculated from the breath cycle using Eq.(9). We have considered the sync time to be after 90 % of the breath cycle time but this can easily be changed in the code that we have provided. To calculate the time window for the SIMV, 'syncTime' is calculated using Eq.(10).
If a patient tries to breathe within this 'syncTime' (Fig. 26), the flow rate is checked and if it is greater than 20 ml, breath is given. Value for the flow rate for the trigger is taken from the doctor. The sensitivity of the trigger can be tuned by adjusting the value of the flow rate. The same type of mechanism can be implemented using a Pressure sensor. However, it was implemented only at the expiratory time synchronization window.

d. Patient Circuit Disconnection Algorithm:
During the inhale state if PIP is found to be lesser than 5 cmH2O, a disconnection is triggered. Here, the flow increases as the pressure cannot be built in an open patient circuit. Both audio and visual alarms will be triggered.
As a safety feature, the motor speed is decreased to the minimum level, however, when the patient circuit is reconnected, it can be detected. Finally, a system was developed with easy operation, low start-up time, and fast calibration of the pressure sensor. However, an air relay can be used for calibrating the pressure sensor after a certain interval to improve the performance further.                       Fig. 56 and 57). Support 1 is used to hold the tablet at an angle for a better view of the display. Distance between Holder 1 and 2 and distance between 2 and 3 are kept the same so that the tablet support can be kept with the case when not in use. 21. Top Full Assembly (see Figs. 58 and 59).                                        6. After the parts are all printed, follow the detailed assembly instruction provided in the 'Build Instructions' section above.
Electronics Setup: 1. Get all the modules as demonstrated through Fig. 11. 2. Connect the modules accordingly using good low resistive wires.
Software Setup.
1. Use Android Studio software to generate the apk files. 2. Install into the android device. All files can be found in the ''Android Application" zipped folder.
Firmware Setup: 1. Download all the codes from the 'Firmware' folder     Table 3.

Safety Concerns:
Under continuous operation for a few years, some of the mechanical and 3D printed parts would need to be changed. Prolonged use of filters (HEPA and HME) might decrease the device's performance. Press the same switch off and a confirmation will be shown. To stop ventilation, press OK.

Validation and characterization
The device was tested in a couple of ways and effective results were achieved which were verified by professional doctors.

(a) Experiment
An experimental setup was constructed where the ventilator was connected with a Drager test lung [24] to simulate a patient. The Arduino module of the device was connected to a computer where the data was logged during the operation. The experiment was done on the Draeger test lung [24] to simulate real patient conditions. Fig. 127 demonstrates the test lung with the flow sensor. The Draeger test lung is designed and tested for a lot of Draeger ventilators to be operated in any clinical setting. Innovative carbon fiber, silicone, and polysulfone materials are used in its construction; enough to work with the system while delivering reliable service. This ultra-lightweight test lung merely weighs 190 g (0.42 lb). Besides that, it can be completely disassembled for easy cleaning and is autoclavable [24]. SFM3300 flow sensors [9] were used to verify the magnitude of tidal volume delivered to patients. These sensors are already used in ventilators and other respiratory devices for flow measurements. It is well-known because of its autoclavable feature, capability to measure bi-directional flow rates of 250 slm and small dead space of fewer than 10 ml. Moreover, the biggest advantage of using it is that it has a very fast update time (0.5 ms) and calibration is not needed. Two of such flow sensors were connected in series with the patient circuit through which the air flowed from the turbine to the patient. The first one was connected to the microcontroller directly and data was retrieved using the serial monitor on a computer. The second one was connected to another computer through the official interfacing tool provided by Sensiron EK-F3x-CAP [25]. The analog values from the sensor were verified and converted to cm H 2 O pressure as it is more convenient when it comes to implementing different pressure levels. Besides that, doctors are also used to cm H 2 O pressure. Hence, the analog values were converted using Eq.(11) and they can be found at [13] under SIMV patient trigger condition [Code: volume.ino )>) 128 no line].
In the Eq. (11), C has been identified through an experiment. The changes in offset subtracted mpxAnalog has been observed through changing mpxCm. The test data is available in Table 4. Based on the observation, a slope has been calculated to find C. The value of C is thus found to be 0.208879.
Upon not coming across any ready-to-be-used formula for converting an analog value to cm H 2 O, we fabricated our setup in finding out the constant; 0.208879, used in the Eq.(11). The Fig. 128 demonstrates the experimental setup that was used in order to find the constant. The t-connector was connected with a syringe on one end and one of the pressure sensing outlets of MPX2010DP, then the third end was connected with a 4 mm pipe and was put into water held by a measuring cylinder. A ruler was held in parallel to the measuring cylinder by its side by a clamp. The height of the water in cm was recorded and  then the pressure was exerted by the syringe. When we saw approximately 1 cm H 2 O displacement of water due to pressure exerted by the syringe, the change in the analog value of the differential pressure was recorded. This experiment was repeated a couple of times and the mean value was finally taken to calculate the constant that we are finally using in the formula.

(b) Results
To check its ability to function at different tidal volumes, the device was set at three settings: 300 ml, 350 ml and 400 ml. BPM was set at 12, inspiration time (Ti) was 2.0 Seconds and PEEP was at 4 cmH 2 O. Based on the above parameter settings the flow and volume curves of the mechanical ventilation system are shown below. Fig. 129 represents five breath cycles at  the three different tidal volume settings whereas Fig. 130 represents the Flow rates (ml/s) at the same settings. Both graphs have shown expected results.
To check its ability to function at different BPM, the device was set at two settings: 10 and 12 BPM. Tidal volume was set at 350 ml, inspiration time (Ti) was 3.0 Seconds and PEEP was at 3 cmH 2 O. Fig. 131 represents five breath cycles at the two BPM settings.
To demonstrate that the system's SIMV mode is functional, a test was conducted where the test lung was manually pulled to simulate the patient's breath initiation. Fig. 132 illustrates one such event where SIMV was triggered and a breath was subsequently initiated in the trigger window. Tidal volume was set at 300 ml, inspiration time (Ti) was 2.0 Seconds and PEEP was at 3 cmH2O. SIMV trigger window was deliberately set at 40 % instead of 10 % as a larger window was necessary to cause the trigger by manually pulling the test lung.   (c) Visualization on an integrated display module: Efficiency is calculated using the values obtained through two methods; J7-t power tested [26] and DPS5005 power supply [27].
J7-t tester has very low power consumption (20 mA current consumption) by itself while displaying the values. Displayed voltages and currents have an accuracy of 0.03 V and 0.02A respectively; with comparatively higher accuracy [26].  DPS5005 power supply has a resolution of 0.01 for both voltages and currents measured with 100 mV (peak to peak) at max workload [27].
Finally, graphs were obtained and Fig. 133 and Fig. 134 showing the operation of the device in PRVC and PCV modes respectively.
A complete video demonstration of the proposed ventilator can be found in the following link: https://youtu.be/ Mzp99ZKSrOA. In this video you will be able to see the device at work while tested with the test lung. Furthermore, it contains a demonstration of the graphical user interface.
Financial Support: This research did not receive any specific grant from funding agencies in the public, commercial, or not-for-profit sectors.

Conclusion
Technology is always developing around the world but there is still some gap in the implementation of intensive care medical devices in finding ways to reduce cost while keeping the functionalities the same if not better. We have successfully developed a power-efficient system with two completely novel designs; PRM and PEEP valves. These valves have enabled the system to achieve more than 35 times efficiency running alongside effective control algorithms such as feed-forward and PID. The modular low cost and portable system can easily be deployed.
However, we do acknowledge that there are still some developments to be done and these are already in the process; such as, more modes are to be developed, the oxygen blending method needs to be corrected and finally the primary display system needs to be developed with a simpler display that would be able to provide minimal and crucial information so that this system can even run at the scenario where an android tablet is not available.

Future work
Ventilator testers are not commonly available in LMICs. However, the system can be tested further with an aid of a ventilator tester.
Dr. Asef Bakhtiar Chowdhury: for demonstrating ventilator and BiPAP machine in ICU condition.